package com.iceclean.serviceImpl;

import com.iceclean.dao.MessageDao;
import com.iceclean.daoImpl.MessageDaoImpl;
import com.iceclean.po.Message;
import com.iceclean.service.MessageService;

import java.util.List;

/**
 * @author : Ice'Clean
 * @date : 2021-05-09
 *
 * 消息服务实体
 */
public class MessageServiceImpl implements MessageService {

    MessageDao messageDao = new MessageDaoImpl();

    /**
     * 如果有传入链接的话，将链接加上
     * @param senderId 新消息的发送者
     * @param receiverId 新消息的接收者
     * @param messageContent 新消息的内容
     * @param messageClass 新消息的类别（0表示系统消息、1表示私信、2表示好友聊天）
     * @param messageHref 可能存在的超链接
     * @return 创建完的消息对象
     */
    @Override
    public Message createMessage(int senderId, int receiverId, String messageContent, int messageClass, String messageHref) {
        int id;
        if (messageHref != null) {
            id = messageDao.createMessage(new Message(senderId, receiverId, messageContent, messageHref, messageClass));
        } else {
            id = messageDao.createMessage(new Message(senderId, receiverId, messageContent, messageClass));
        }
        return messageDao.findMessageById(id);
    }

    @Override
    public int getAllMessageForNumber(int userId, int messageClass) {
        return messageDao.getAllMessageForNumber(userId, messageClass);
    }

    @Override
    public List<Message> findMessageByPage(int userId, int messageClass, int page, int num) {
        return messageDao.findMessageByPage(userId, messageClass, page, num);
    }
}
